package com.g8.pethospitallearnbackend.entity;

import java.io.Serializable;

public class Lab implements Serializable {
    private String labId;

    private String labType;

    private String labName;

    private Double labPrice;

    private String clinicalSignificance;

    private String normalLevel;

    private static final long serialVersionUID = 1L;

    public String getLabId() {
        return labId;
    }

    public void setLabId(String labId) {
        this.labId = labId;
    }

    public String getLabType() {
        return labType;
    }

    public void setLabType(String labType) {
        this.labType = labType;
    }

    public String getLabName() {
        return labName;
    }

    public void setLabName(String labName) {
        this.labName = labName;
    }

    public Double getLabPrice() {
        return labPrice;
    }

    public void setLabPrice(Double labPrice) {
        this.labPrice = labPrice;
    }

    public String getClinicalSignificance() {
        return clinicalSignificance;
    }

    public void setClinicalSignificance(String clinicalSignificance) {
        this.clinicalSignificance = clinicalSignificance;
    }

    public String getNormalLevel() {
        return normalLevel;
    }

    public void setNormalLevel(String normalLevel) {
        this.normalLevel = normalLevel;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", labId=").append(labId);
        sb.append(", labType=").append(labType);
        sb.append(", labName=").append(labName);
        sb.append(", labPrice=").append(labPrice);
        sb.append(", clinicalSignificance=").append(clinicalSignificance);
        sb.append(", normalLevel=").append(normalLevel);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        Lab other = (Lab) that;
        return (this.getLabId() == null ? other.getLabId() == null : this.getLabId().equals(other.getLabId()))
            && (this.getLabType() == null ? other.getLabType() == null : this.getLabType().equals(other.getLabType()))
            && (this.getLabName() == null ? other.getLabName() == null : this.getLabName().equals(other.getLabName()))
            && (this.getLabPrice() == null ? other.getLabPrice() == null : this.getLabPrice().equals(other.getLabPrice()))
            && (this.getClinicalSignificance() == null ? other.getClinicalSignificance() == null : this.getClinicalSignificance().equals(other.getClinicalSignificance()))
            && (this.getNormalLevel() == null ? other.getNormalLevel() == null : this.getNormalLevel().equals(other.getNormalLevel()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getLabId() == null) ? 0 : getLabId().hashCode());
        result = prime * result + ((getLabType() == null) ? 0 : getLabType().hashCode());
        result = prime * result + ((getLabName() == null) ? 0 : getLabName().hashCode());
        result = prime * result + ((getLabPrice() == null) ? 0 : getLabPrice().hashCode());
        result = prime * result + ((getClinicalSignificance() == null) ? 0 : getClinicalSignificance().hashCode());
        result = prime * result + ((getNormalLevel() == null) ? 0 : getNormalLevel().hashCode());
        return result;
    }
}